package HashMap;

import java.util.*;

public class demo2 {
    public static void main(String[] args) {
        //定义一个数组存储景点
        String[] arr = {"A", "B", "C", "D"};
        //创建一个集合存储学生投票选择的景点
        ArrayList<String> list = new ArrayList<>();

        Random r = new Random();
        for (int i = 0; i < 80; i++) {
            int index = r.nextInt(arr.length);
            //把学生随机投的票存入集合当中
            list.add(arr[index]);
        }
        //利用map集合统计景点次数
        HashMap<String, Integer> map = new HashMap<>();
        for (String s : list) {
            //map集合里面存在学生头的景点
            boolean containsKey = map.containsKey(s);
            int count = 0;
            //判断map集合里面是否包含该景点
            if (containsKey) {
                //存在count++;
                //先获取当前景点已经被投了多少次数
                count = map.get(s);
                //当前景点又被投了一次
                count++;
                //把当前景点加新的次数再次添加到map集合当中
                map.put(s, count);

            } else {
                //不存在count为1
                map.put(s, 1);
            }

        }
        //求次数最多的景点
        int max=0;
        Set<Map.Entry<String, Integer>> entries = map.entrySet();
        for (Map.Entry<String, Integer> entry : entries) {
            String key = entry.getKey();
            int count = entry.getValue();
            if(count>max){
                max=count;
            }
            System.out.println(key+":"+count);

        }
        //判断哪个景点的次数跟最大值一样，一样就打印出来
        for (Map.Entry<String, Integer> entry : entries) {
            String key = entry.getKey();
            int count = entry.getValue();
            if(count==max){
                System.out.println(key);
            }

        }

    }
}
